]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
tools/toolbox: Add --sysext option to meson-build
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 4 Oct 2024 12:10:21 +0000 (14:10 +0200)
committerMarge Bot <marge-bot@gnome.org>
Thu, 5 Dec 2024 12:57:30 +0000 (12:57 +0000)
When specified, the project is installed to a separate destdir
inside the container instead of the container's root filesystem.

This can be used to install several projects into a common extension
directory:

```
 $ (cd mutter; meson-build.sh --sysext) &&
   (cd gnome-shell; meson-build.sh --sysext)
```

We will later add a separate command to extract the directory
from the container and turn it into a system extension suitable
for use with systemd-sysext.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3498>

tools/toolbox/meson-build.sh

index b0a237f5c4e74b2fa25e675f96507b5a8e3f565a..a2f637c7c1fc3ca7f69014289c59a667b3d7cdcf 100755 (executable)
@@ -18,6 +18,7 @@ usage() {
          --dist                  Run meson dist
          --reconfigure           Reconfigure the project
          --wipe                  Wipe build directory and reconfigure
+         --sysext                Install to separate target suitable for systemd-sysext
 
          -h, --help              Display this help
 
@@ -50,10 +51,11 @@ compile_command() {
 }
 
 install_command() {
-  if [[ $RUN_DIST ]]; then
-    echo -n :
+  local destdir=${BUILD_SYSEXT:+/var/lib/extensions/$TOOLBOX}
+  if [[ $destdir || ! $RUN_DIST ]]; then
+    echo -n "sudo meson install -C $BUILD_DIR ${destdir:+--destdir=$destdir}"
   else
-    echo -n "sudo meson install -C $BUILD_DIR"
+    echo -n :
   fi
 }
 
@@ -76,6 +78,7 @@ TEMP=$(getopt \
   --longoptions 'dist' \
   --longoptions 'reconfigure' \
   --longoptions 'wipe' \
+  --longoptions 'sysext' \
   --longoptions 'help' \
   -- "$@") || die "Run $(basename $0) --help to see available options"
 
@@ -106,6 +109,11 @@ while true; do
       shift
     ;;
 
+    --sysext)
+      BUILD_SYSEXT=1
+      shift
+    ;;
+
     -D)
       MESON_OPTIONS+=(-D$2)
       shift 2